OA办公软件与PDF文件联系紧密,PDF格式的文件也是办公人员必须掌握的!  设为首页 加入收藏夹 我来推荐 
您的位置:首页 > PDF应用技术 > PDF开发技术
PDF开发技术
PDF文件结构的分析
日期:2009-04-17 21:20:49 人气: 标签:

Adobe的PDF参考告诉我们一个PDF文件可以通过下面4个方面来理解: 
1.         对象, 一个PDF文档是由一个由基本数据类型组成的数据结构。 
2.         文件(物理结构), 决定对象是如何存放在一个PDF文件中的, 它们是如何被访问的,如何被更新的。这个结构是独立于对象的语义的。 
3.         文档结构, 说明一些基本的对象类型是如何来表现PDF文档的成分的:页,字体,批注,和另外一些内容。 
4.         内容流.一个PDF文件内容流包含一系列的指令,描述页面的外观或其他图形实体的外观和文件内容。 
   但是当时对我来说要看懂这几行字是有很大的困难的,需要了解确切含义,必须看完后面的几十页上百页的内容并且要分析一下一个实际的PDF文件才能完全领会它的意思。 
   后来经过长时间的文档阅读,相关开发,并且具体地分析PDF文件后才把PDF文件的语法,文件的解析搞清楚。虽然说学习是痛并快乐着,但是对于当时我来说真的希望有一个人能够告诉我一个简单的例子,通过一个简单的例子来描述PDF的基本组成,它的解析原理和过程。因此下面我主要将以一个简单的例子来说明PDF的主要特性并给出一个简单的PDF文件的全景。 
       在继续阅读该文章前,我们先问自己下面的几个问题: 
l         你了解至少一种文件格式吗?(例如HTML) 
l         为什么要学习PDF的相关知识? 
如果你对第一个问题的答案为“是”, 并且第二个问题你能给出一个非常明确的答案,那么这篇短文是适合你的。否则,如果对任何一种格式都不了解,建议先了解一下HTML,或XML,你可以从这两种语言里得到很多启发,对学习PDF的构成有很大的好处;如果你不清楚你要学习是为了什么,那么我就认为你学习没有目的性和动力,说不定你今天学了以后明天就忘得一干二净。 
1.PDF格式和HTML,XML格式: 
一个PDF文档从根本上来说是一个8字节序。其实PDF格式和我们已经熟知的HTML,XML等结构化的文件格式一样,包含有关键字,分隔符,数据等等。 
不同的是PDF文件是按照二进制流的方式保存的,而html文件则是文本方式保存的。XML文件一般只包含数据本身,并没有把如何显示的信息放在其中,因此要显示一个XML文件还需要一个Schema文件才能显示,否则看到的将是所有的字节流;HTML包含了数据的同时也包含了一些关于如何显示的信息,但是HTML是基于文本存放的,是可读的,你打开一个HTML文件就能知道所有显示在浏览器里得文字。 另外就是HTML不能包含二进制流,它对图像文件的引用都是通过链接的,全部是外部文件的方式来实现的。 
2.PDF规范的发展 
PDF规范从1993年到现在,已经有过7个版本,六次版本升级,从最初的pdf1.0.6版本到现在的PDF1.6, 每次的版本升级都会加入一些新的特性,PDF参考说明书也是从最初的100多页到现在的1000多页,但是PDF文件格式的主要特性还是没有改变,可以这么理解,PDF1.6是PDF1.0的扩展集,学习了PDF1.0以后也能基本上理解PDF1.6的内容。 因此说我下面的例子是基于一个PDF1.0的最简单的一个PDF文件的分析。 
PDF规范的发展升级: 
1.1 1995 加入了文档加密(40字节),线索树,名字树,链接,设备独立色彩资源。 
1.2 1996 表单, 半色调屏幕,和其他的一些高级色彩特性, 对中文,日文和韩文的支持 
1.3 2000 数字签名, 逻辑结构, JavaScript, 嵌入式文件,Masked Images, 平滑阴影, 支持 CID字体的附加色彩。 
1.4 2001 文件加密 (128 字节), 标签式 PDF, 访问控制,透明,元数据流 
1.5 2003 文档加密 (公钥), JPEG 2000 压缩, 可选的内容组,附加的注解类型 
1.6 2005 文档加密 (AES),增加最大文件支持,加入3D支持,额外的注解类型 

3.PDF文件的基本组成: 
   一个PDF文件从大的方面来说分4个部分: 
l         文件头,指明了该文件所遵从的PDF规范的版本号,它出现在PDF文件的第一行。 
l         文件体,PDF文件的主要部分,由一系列对象组成。 
l         交叉引用表,为了能对间接对象进行随机存取而设立的一个间接对象的地址索引表。 
l         文件尾,声明了交叉引用表的地址,即指明了文件体的根对象(Catalog),从而能够找到PDF文件中各个对象体的位置,达到随机访问。另外还保存了PDF文件的加密等安全信息(以后详细讨论)。 
如下图: 

图1

共有条评论信息评论信息
栏目分类

站点说明 | 站点导航 | 站点公告 |
OAPDF.COM版权所有 2009 V1.1